// [[ OnflowGenerator File UUID: 1c1e950a7be946679a972f201664bb29  ]]
package com.itdct.onflow.system.log.qo

import com.itdct.onflow.core.qo.BaseQo
import com.itdct.onflow.core.type.Add
import com.itdct.onflow.core.type.Update
import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank
import jakarta.validation.constraints.NotNull
import org.hibernate.validator.constraints.Length
import java.math.BigDecimal
import java.util.*

/**
 * @author DCTANT
 * @date 2025-09-23 15:03:31
 * @version 1.0
 * @description 系统重要接口访问日志编辑入参
 */
@Schema(name = "系统重要接口访问日志编辑入参", description = "系统重要接口访问日志编辑入参")
class SysImportantApiLogEditQo : BaseQo() {
    // [[ OnflowGenerator Range (- fields -) Start ]]
    @Schema(title = "账号id", example = "")
    var accountId: Long? = null

    @Schema(title = "请求时间", example = "")
    @NotNull(message = "请输入请求时间", groups = [Add::class, Update::class])
    var requestTime: Date? = null

    @Schema(title = "响应时间", example = "")
    @NotNull(message = "请输入响应时间", groups = [Add::class, Update::class])
    var responseTime: Date? = null

    @Schema(title = "处理时间", example = "")
    @NotNull(message = "请输入处理时间", groups = [Add::class, Update::class])
    var handleTime: BigDecimal? = null

    @Schema(title = "实例id", example = "")
    @NotBlank(message = "请输入实例id", groups = [Add::class, Update::class])
    @Length(max = 100, message = "实例id不能超过100个字符", groups = [Add::class, Update::class])
    var instanceId: String? = null

    @Schema(title = "接口地址", example = "")
    @NotBlank(message = "请输入接口地址", groups = [Add::class, Update::class])
    @Length(max = 500, message = "接口地址不能超过500个字符", groups = [Add::class, Update::class])
    var url: String? = null

    @Schema(title = "接口id", example = "")
    @NotNull(message = "请输入接口id", groups = [Add::class, Update::class])
    var apiId: Long? = null

    @Schema(title = "返回码", example = "")
    @NotNull(message = "请输入返回码", groups = [Add::class, Update::class])
    var returnCode: Int? = null

    @Schema(title = "来源ip", example = "")
    @NotBlank(message = "请输入来源ip", groups = [Add::class, Update::class])
    @Length(max = 64, message = "来源ip不能超过64个字符", groups = [Add::class, Update::class])
    var sourceIp: String? = null

    @Schema(title = "平台类型", example = "")
    @NotBlank(message = "请输入平台类型", groups = [Add::class, Update::class])
    @Length(max = 100, message = "平台类型不能超过100个字符", groups = [Add::class, Update::class])
    var platformType: String? = null

    @Schema(title = "失败原因", example = "")
    @Length(max = 5000, message = "失败原因不能超过5000个字符", groups = [Add::class, Update::class])
    var failReason: String? = null

    @Schema(title = "请求参数", example = "")
    @NotBlank(message = "请输入请求参数", groups = [Add::class, Update::class])
    @Length(max = 10000, message = "请求参数不能超过10000个字符", groups = [Add::class, Update::class])
    var requestBody: String? = null

    @Schema(title = "返回参数", example = "")
    @NotBlank(message = "请输入返回参数", groups = [Add::class, Update::class])
    @Length(max = 10000, message = "返回参数不能超过10000个字符", groups = [Add::class, Update::class])
    var responseBody: String? = null

// [[ OnflowGenerator Range (- fields -) End ]]
}